//1.引入express
const express = require('express');
//2.创建应用对象
const app = express();
//3.创建路由规则
//request 请求报文的封装
//response 响应报文的封装
app.get('/server', (request, response) => {
    // 设置响应头   设置允许跨域
    response.setHeader('Access-Control-Allow-Origin', '*');
    //设置响应体
    response.send('HELLO AJAX GET');
});

app.post('/server', (request, response) => {
    // 设置响应头   设置允许跨域
    response.setHeader('Access-Control-Allow-Origin', '*');
    //设置响应体
    response.send('HELLO AJAX POST');
});
//all是所有请求都能接受
app.all('/json-server', (request, response) => {
    // 设置响应头   设置允许跨域
    response.setHeader('Access-Control-Allow-Origin', '*');
    // 响应一个数据
    const data = {
            name: 'jackson wang'
        }
        // 对这个对象做一个数据转化
    let str = JSON.stringify(data);
    //设置响应体
    response.send(str);
});
// 正对IE缓存的规则
app.get('/ie', (request, response) => {
    // 设置响应头   设置允许跨域
    response.setHeader('Access-Control-Allow-Origin', '*');
    //设置响应体
    response.send('HELLO IE -3');
});
// 延迟响应
app.get('/delay', (request, response) => {
    // 设置响应头   设置允许跨域
    response.setHeader('Access-Control-Allow-Origin', '*');
    setTimeout(() => {
        //设置响应体
        response.send('延时响应');
    }, 3000);
});

// jQuery 服务
app.all('/jquery-server', (request, response) => {
    // 设置响应头   设置允许跨域
    response.setHeader('Access-Control-Allow-Origin', '*');
    // response.send('HELLO jQuery AJAX')
    const data = { name: 'Jackson' };
    response.send(JSON.stringify(data));
});
// axios 服务
app.all('/axios-server', (request, response) => {
    // 设置响应头   设置允许跨域
    response.setHeader('Access-Control-Allow-Origin', '*');
    // response.send('HELLO jQuery AJAX')
    const data = { name: 'Jackson' };
    response.send(JSON.stringify(data));
});

// fetch 服务
app.all('/fetch-server', (request, response) => {
    // 设置响应头   设置允许跨域
    response.setHeader('Access-Control-Allow-Origin', '*');
    // response.send('HELLO jQuery AJAX')
    const data = { name: 'Jackson' };
    response.send(JSON.stringify(data));
});

//4.监听端口启动服务器
app.listen(8000, () => {
    console.log("服务器已经启动，8000端口监听中...");
})